package com.kgc.scd.bean;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class CouponExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public CouponExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCouIdIsNull() {
            addCriterion("cou_id is null");
            return (Criteria) this;
        }

        public Criteria andCouIdIsNotNull() {
            addCriterion("cou_id is not null");
            return (Criteria) this;
        }

        public Criteria andCouIdEqualTo(Integer value) {
            addCriterion("cou_id =", value, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdNotEqualTo(Integer value) {
            addCriterion("cou_id <>", value, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdGreaterThan(Integer value) {
            addCriterion("cou_id >", value, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_id >=", value, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdLessThan(Integer value) {
            addCriterion("cou_id <", value, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdLessThanOrEqualTo(Integer value) {
            addCriterion("cou_id <=", value, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdIn(List<Integer> values) {
            addCriterion("cou_id in", values, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdNotIn(List<Integer> values) {
            addCriterion("cou_id not in", values, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdBetween(Integer value1, Integer value2) {
            addCriterion("cou_id between", value1, value2, "couId");
            return (Criteria) this;
        }

        public Criteria andCouIdNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_id not between", value1, value2, "couId");
            return (Criteria) this;
        }

        public Criteria andCouNameIsNull() {
            addCriterion("cou_name is null");
            return (Criteria) this;
        }

        public Criteria andCouNameIsNotNull() {
            addCriterion("cou_name is not null");
            return (Criteria) this;
        }

        public Criteria andCouNameEqualTo(String value) {
            addCriterion("cou_name =", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameNotEqualTo(String value) {
            addCriterion("cou_name <>", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameGreaterThan(String value) {
            addCriterion("cou_name >", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameGreaterThanOrEqualTo(String value) {
            addCriterion("cou_name >=", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameLessThan(String value) {
            addCriterion("cou_name <", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameLessThanOrEqualTo(String value) {
            addCriterion("cou_name <=", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameLike(String value) {
            addCriterion("cou_name like", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameNotLike(String value) {
            addCriterion("cou_name not like", value, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameIn(List<String> values) {
            addCriterion("cou_name in", values, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameNotIn(List<String> values) {
            addCriterion("cou_name not in", values, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameBetween(String value1, String value2) {
            addCriterion("cou_name between", value1, value2, "couName");
            return (Criteria) this;
        }

        public Criteria andCouNameNotBetween(String value1, String value2) {
            addCriterion("cou_name not between", value1, value2, "couName");
            return (Criteria) this;
        }

        public Criteria andCouCreditIsNull() {
            addCriterion("cou_credit is null");
            return (Criteria) this;
        }

        public Criteria andCouCreditIsNotNull() {
            addCriterion("cou_credit is not null");
            return (Criteria) this;
        }

        public Criteria andCouCreditEqualTo(Integer value) {
            addCriterion("cou_credit =", value, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditNotEqualTo(Integer value) {
            addCriterion("cou_credit <>", value, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditGreaterThan(Integer value) {
            addCriterion("cou_credit >", value, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_credit >=", value, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditLessThan(Integer value) {
            addCriterion("cou_credit <", value, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditLessThanOrEqualTo(Integer value) {
            addCriterion("cou_credit <=", value, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditIn(List<Integer> values) {
            addCriterion("cou_credit in", values, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditNotIn(List<Integer> values) {
            addCriterion("cou_credit not in", values, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditBetween(Integer value1, Integer value2) {
            addCriterion("cou_credit between", value1, value2, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouCreditNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_credit not between", value1, value2, "couCredit");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeIsNull() {
            addCriterion("cou_expire_time is null");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeIsNotNull() {
            addCriterion("cou_expire_time is not null");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeEqualTo(Integer value) {
            addCriterion("cou_expire_time =", value, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeNotEqualTo(Integer value) {
            addCriterion("cou_expire_time <>", value, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeGreaterThan(Integer value) {
            addCriterion("cou_expire_time >", value, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_expire_time >=", value, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeLessThan(Integer value) {
            addCriterion("cou_expire_time <", value, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeLessThanOrEqualTo(Integer value) {
            addCriterion("cou_expire_time <=", value, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeIn(List<Integer> values) {
            addCriterion("cou_expire_time in", values, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeNotIn(List<Integer> values) {
            addCriterion("cou_expire_time not in", values, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeBetween(Integer value1, Integer value2) {
            addCriterion("cou_expire_time between", value1, value2, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouExpireTimeNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_expire_time not between", value1, value2, "couExpireTime");
            return (Criteria) this;
        }

        public Criteria andCouDiscountIsNull() {
            addCriterion("cou_discount is null");
            return (Criteria) this;
        }

        public Criteria andCouDiscountIsNotNull() {
            addCriterion("cou_discount is not null");
            return (Criteria) this;
        }

        public Criteria andCouDiscountEqualTo(BigDecimal value) {
            addCriterion("cou_discount =", value, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountNotEqualTo(BigDecimal value) {
            addCriterion("cou_discount <>", value, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountGreaterThan(BigDecimal value) {
            addCriterion("cou_discount >", value, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cou_discount >=", value, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountLessThan(BigDecimal value) {
            addCriterion("cou_discount <", value, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cou_discount <=", value, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountIn(List<BigDecimal> values) {
            addCriterion("cou_discount in", values, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountNotIn(List<BigDecimal> values) {
            addCriterion("cou_discount not in", values, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cou_discount between", value1, value2, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouDiscountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cou_discount not between", value1, value2, "couDiscount");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidIsNull() {
            addCriterion("cou_categoryid is null");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidIsNotNull() {
            addCriterion("cou_categoryid is not null");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidEqualTo(Integer value) {
            addCriterion("cou_categoryid =", value, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidNotEqualTo(Integer value) {
            addCriterion("cou_categoryid <>", value, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidGreaterThan(Integer value) {
            addCriterion("cou_categoryid >", value, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_categoryid >=", value, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidLessThan(Integer value) {
            addCriterion("cou_categoryid <", value, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidLessThanOrEqualTo(Integer value) {
            addCriterion("cou_categoryid <=", value, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidIn(List<Integer> values) {
            addCriterion("cou_categoryid in", values, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidNotIn(List<Integer> values) {
            addCriterion("cou_categoryid not in", values, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidBetween(Integer value1, Integer value2) {
            addCriterion("cou_categoryid between", value1, value2, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouCategoryidNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_categoryid not between", value1, value2, "couCategoryid");
            return (Criteria) this;
        }

        public Criteria andCouDetailIsNull() {
            addCriterion("cou_detail is null");
            return (Criteria) this;
        }

        public Criteria andCouDetailIsNotNull() {
            addCriterion("cou_detail is not null");
            return (Criteria) this;
        }

        public Criteria andCouDetailEqualTo(String value) {
            addCriterion("cou_detail =", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailNotEqualTo(String value) {
            addCriterion("cou_detail <>", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailGreaterThan(String value) {
            addCriterion("cou_detail >", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailGreaterThanOrEqualTo(String value) {
            addCriterion("cou_detail >=", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailLessThan(String value) {
            addCriterion("cou_detail <", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailLessThanOrEqualTo(String value) {
            addCriterion("cou_detail <=", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailLike(String value) {
            addCriterion("cou_detail like", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailNotLike(String value) {
            addCriterion("cou_detail not like", value, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailIn(List<String> values) {
            addCriterion("cou_detail in", values, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailNotIn(List<String> values) {
            addCriterion("cou_detail not in", values, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailBetween(String value1, String value2) {
            addCriterion("cou_detail between", value1, value2, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouDetailNotBetween(String value1, String value2) {
            addCriterion("cou_detail not between", value1, value2, "couDetail");
            return (Criteria) this;
        }

        public Criteria andCouStockIsNull() {
            addCriterion("cou_stock is null");
            return (Criteria) this;
        }

        public Criteria andCouStockIsNotNull() {
            addCriterion("cou_stock is not null");
            return (Criteria) this;
        }

        public Criteria andCouStockEqualTo(Integer value) {
            addCriterion("cou_stock =", value, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockNotEqualTo(Integer value) {
            addCriterion("cou_stock <>", value, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockGreaterThan(Integer value) {
            addCriterion("cou_stock >", value, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_stock >=", value, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockLessThan(Integer value) {
            addCriterion("cou_stock <", value, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockLessThanOrEqualTo(Integer value) {
            addCriterion("cou_stock <=", value, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockIn(List<Integer> values) {
            addCriterion("cou_stock in", values, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockNotIn(List<Integer> values) {
            addCriterion("cou_stock not in", values, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockBetween(Integer value1, Integer value2) {
            addCriterion("cou_stock between", value1, value2, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouStockNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_stock not between", value1, value2, "couStock");
            return (Criteria) this;
        }

        public Criteria andCouTypeIsNull() {
            addCriterion("cou_type is null");
            return (Criteria) this;
        }

        public Criteria andCouTypeIsNotNull() {
            addCriterion("cou_type is not null");
            return (Criteria) this;
        }

        public Criteria andCouTypeEqualTo(Integer value) {
            addCriterion("cou_type =", value, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeNotEqualTo(Integer value) {
            addCriterion("cou_type <>", value, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeGreaterThan(Integer value) {
            addCriterion("cou_type >", value, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_type >=", value, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeLessThan(Integer value) {
            addCriterion("cou_type <", value, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeLessThanOrEqualTo(Integer value) {
            addCriterion("cou_type <=", value, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeIn(List<Integer> values) {
            addCriterion("cou_type in", values, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeNotIn(List<Integer> values) {
            addCriterion("cou_type not in", values, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeBetween(Integer value1, Integer value2) {
            addCriterion("cou_type between", value1, value2, "couType");
            return (Criteria) this;
        }

        public Criteria andCouTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_type not between", value1, value2, "couType");
            return (Criteria) this;
        }

        public Criteria andCouFullIsNull() {
            addCriterion("cou_full is null");
            return (Criteria) this;
        }

        public Criteria andCouFullIsNotNull() {
            addCriterion("cou_full is not null");
            return (Criteria) this;
        }

        public Criteria andCouFullEqualTo(Integer value) {
            addCriterion("cou_full =", value, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullNotEqualTo(Integer value) {
            addCriterion("cou_full <>", value, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullGreaterThan(Integer value) {
            addCriterion("cou_full >", value, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_full >=", value, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullLessThan(Integer value) {
            addCriterion("cou_full <", value, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullLessThanOrEqualTo(Integer value) {
            addCriterion("cou_full <=", value, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullIn(List<Integer> values) {
            addCriterion("cou_full in", values, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullNotIn(List<Integer> values) {
            addCriterion("cou_full not in", values, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullBetween(Integer value1, Integer value2) {
            addCriterion("cou_full between", value1, value2, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouFullNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_full not between", value1, value2, "couFull");
            return (Criteria) this;
        }

        public Criteria andCouSubIsNull() {
            addCriterion("cou_sub is null");
            return (Criteria) this;
        }

        public Criteria andCouSubIsNotNull() {
            addCriterion("cou_sub is not null");
            return (Criteria) this;
        }

        public Criteria andCouSubEqualTo(Integer value) {
            addCriterion("cou_sub =", value, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubNotEqualTo(Integer value) {
            addCriterion("cou_sub <>", value, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubGreaterThan(Integer value) {
            addCriterion("cou_sub >", value, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_sub >=", value, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubLessThan(Integer value) {
            addCriterion("cou_sub <", value, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubLessThanOrEqualTo(Integer value) {
            addCriterion("cou_sub <=", value, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubIn(List<Integer> values) {
            addCriterion("cou_sub in", values, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubNotIn(List<Integer> values) {
            addCriterion("cou_sub not in", values, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubBetween(Integer value1, Integer value2) {
            addCriterion("cou_sub between", value1, value2, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouSubNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_sub not between", value1, value2, "couSub");
            return (Criteria) this;
        }

        public Criteria andCouStatusIsNull() {
            addCriterion("cou_status is null");
            return (Criteria) this;
        }

        public Criteria andCouStatusIsNotNull() {
            addCriterion("cou_status is not null");
            return (Criteria) this;
        }

        public Criteria andCouStatusEqualTo(Integer value) {
            addCriterion("cou_status =", value, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusNotEqualTo(Integer value) {
            addCriterion("cou_status <>", value, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusGreaterThan(Integer value) {
            addCriterion("cou_status >", value, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("cou_status >=", value, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusLessThan(Integer value) {
            addCriterion("cou_status <", value, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusLessThanOrEqualTo(Integer value) {
            addCriterion("cou_status <=", value, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusIn(List<Integer> values) {
            addCriterion("cou_status in", values, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusNotIn(List<Integer> values) {
            addCriterion("cou_status not in", values, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusBetween(Integer value1, Integer value2) {
            addCriterion("cou_status between", value1, value2, "couStatus");
            return (Criteria) this;
        }

        public Criteria andCouStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("cou_status not between", value1, value2, "couStatus");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}